package com.pubinfo.passbook.common.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 可报销表
 *
 * @TableName t_rule_reimbursable
 */
@TableName(value = "t_rule_reimbursable")
@ApiModel(value = "TRuleReimbursable", description = "可报销表")
@Data
@NoArgsConstructor
public class TRuleReimbursable implements Serializable {
  /**
   *
   */
  @TableId(type = IdType.ASSIGN_UUID, value = "id")
  private String id;
  
  /**
   * 收费大类表id
   */
  @ApiModelProperty("收费大类id")
  private String chargeGeneraId;
  
  /**
   * 目录类别: 0:甲类 1: 乙类 2:丙类
   */
  @ApiModelProperty("目录类别: 0:甲类 1: 乙类 2:丙类")
  private Byte catalogCategory;
  
  /**
   * 报销百分比
   */
  @ApiModelProperty("报销百分比")
  private Byte percentage;
  
  /**
   * 报销上限 (-1代表无上限)
   */
  @ApiModelProperty("报销上限")
  private Integer upperLimit;
  
  /**
   * 医保类型
   */
  @ApiModelProperty("医保类型")
  private String insuranceType;
  
  /**
   * 支付类别 0 ：自理 1：自负 2：自费
   */
  @ApiModelProperty("支付类别 0 ：自理 1：自负 2：自费")
  private String payCategory;
  
  /**
   * 累计最小费用
   */
  @ApiModelProperty("累计最小费用")
  private Integer reimbursableMin;
  
  /**
   * 累计最大费用 (-1代表无上限)
   */
  @ApiModelProperty("累计最大费用(-1代表无上限)")
  private Integer reimbursableMax;
  
  /**
   *
   */
  private String name;
  
  /**
   * 创建时间
   */
  @TableField(fill = FieldFill.INSERT)
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date createTime;
  
  @TableField(fill = FieldFill.INSERT_UPDATE)
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date updateTime;
  
  @TableField(exist = false)
  private static final long serialVersionUID = 1L;
}